5
Gruppi di regole di codifica
Uno degli aspetti più ostici dell'XML è la conversione del contenuto dal suo formato originale nel formato XML. I documenti QuarkXPress Passport, ad esempio, sono strutturati sulla base di fogli stile e altre convenzioni, ma come si fa a convertire quel tipo di organizzazione nel formato XML?
Avenue.quark aiuta ad automatizzare questo processo. A partire da un documento QuarkXPress Passport e da un DTD, avenue.quark consente di creare un "gruppo di regole di codifica" che provvede ad associare automaticamente le diverse combinazioni di fogli stile, colori e stili carattere di QuarkXPress Passport con i tipi di elementi di un DTD.
 
Considerazioni generali sulla codifica basata su regole

Un gruppo di regole di codifica consente di associare i fogli stile e gli stili di testo di QuarkXPress Passport agli elementi di un DTD; di conseguenza, può essere utilizzato per automatizzare parte del processo di codifica con tag di un documento QuarkXPress Passport.
G Per informazioni sull'uso dei gruppi di regole di codifica nella codifica con tag basata su regole, consultate il Capitolo 6, "Codifica del contenuto con i tag".
Che cos'è un gruppo di regole di codifica?
Quando si esegue la codifica dei contenuti in base a determinate regole, un gruppo di regole di codifica permette di specificare che il contenuto che soddisfa una certa serie di criteri deve essere codificato con un particolare nome di elemento. Ad esempio, potreste impostare una regola per indicare che tutti i paragrafi che utilizzano il foglio stile di paragrafo "Intestazione" devono essere codificati come elementi <titolo>.
Un gruppo di regole di codifica è un insieme di regole ­ tutte basate su un unico DTD ­ a cui è stato assegnato un nome. Ciascuna regola indica quali fogli stile, colori e stili di testo devono essere abbinati a un determinato elemento. Ad esempio, la regola di codifica della figura seguente indica che il testo che utilizza il foglio stile "01 Titolo" deve essere contrassegnato con il tipo di elemento <titolo>.
AVG05 diagram1IT
I gruppi di regole di codifica permettono di determinare come deve essere effettuata la codifica con tag basata su regole.
 
Potreste anche aggiungere un'altra regola per specificare che il testo in corsivo dei paragrafi che utilizzano il foglio stile "01 Titolo" devono essere contrassegnati con il tag <enfasi> nel modo seguente:
No Disk File
I gruppi di regole di codifica permettono di annidare degli elementi all'interno di altri elementi.
Date le due regole di codifica specificate sopra, un paragrafo che utilizza il foglio stile di paragrafo "01 Titolo" e contiene testo in corsivo dovrebbe essere codificato nel modo seguente:
<titolo>Che cosa è successo <enfasi>davvero </enfasi>quella notte</titolo>
Affiché sia possibile usare il tipo di elemento selezionato, devono essere soddisfatti tutti i criteri definiti nell'area Impostazione delle regole. Ad esempio, la regola di codifica seguente indica che soltanto il testo che utilizza il foglio stile di paragrafo "02 Autore" ed è in rosso ed è in grassetto va codificato con il tipo di elemento <autore>:
No Disk File
Per poter utilizzare un tag devono essere soddisfatti tutti i criteri della regola di codifica.
Se volete associare più tipi di formattazione a un medesimo tipo di elemento, non dovete far altro che creare altre regole per quel tipo di elemento. Supponiamo ad esempio che utilizziate due diversi fogli stile di paragrafo per i nomi: uno per il primo nome di un elenco e l'altro per gli altri nomi dell'elenco (questa è una pratica comunemente seguita per questioni di spaziatura). Potreste semplicemente creare due regole di codifica per il tipo di elemento <nome>, una che associa il foglio stile "Primo nome" a <nome> e l'altra che associa il foglio stile "Nomi successivi" a <nome>. Avenue.quark provvederebbe quindi a codificare con tag i paragrafi che soddisfano l'uno o l'altro criterio della regola come elementi <nome>.
 
H Da chi vengono creati i gruppi di regole di codifica? In molti flussi di lavoro, solo il personale amministrativo dovrebbe creare i gruppi di regole di codifica.
Come funziona la codifica del testo basata su regole
Quando la funzione di codifica con tag basata su regole viene usata su una finestra piena di testo, avenue.quark esamina il testo dall'inizio alla fine e cerca di codificarlo con i tag conformemente al DTD. Nel corso di tale operazione, avenue.quark verificherà continuamente tutte le parti del testo in modo da trovare quelle conformi ad una regola congrua con il DTD.
G Il testo che non può essere codificato in base a nessuna regola di codifica con tag verrà ignorato.
Regole di codifica discordanti
Immaginiamo che abbiate creato un gruppo di regole di codifica contenente due regole. La prima regola dice di codificare con tag il testo che utilizza lo stile "Testo principale" come elemento <testo_principale>. La seconda regola dice di codificare il testo che utilizza lo stile "Testo principale" come elemento <paragrafo>. Cosa succede se utilizzate questo gruppo di regole di codifica su una finestra contenente un paragrafo di testo che utilizza il foglio stile "Testo principale"?
 
In un caso del genere, avenue.quark visualizzerà una finestra di dialogo denominata Scegli Regole/posizione e vi chiederà quale tipo di elemento si vuole usare. Questa finestra di dialogo viene visualizzata ogni volta che due o più regole si prestano ad essere applicate allo stesso testo.
G E se invece volete che avenue.quark codifichi lo stesso testo due volte e che inserisca una copia del testo sia in un elemento <testo_principale> che in un elemento <paragrafo>? Potreste creare due gruppi di regole di codifica: uno che dica di codificare "Testo principale" come elemento <testo_principale> e l'altro che dica di codificare "Testo principale" come elemento <paragrafo>, eseguendo poi due volte sullo stesso testo la codifica basata su regole, una volta per ogni gruppo di regole di codifica.
No Disk File
La finestra di dialogo Scegli Regole/posizione
 
Uso dei gruppi di regole di codifica

I gruppi di regole di codifica permettono di associare fogli stile, colori e stili di testo di QuarkXPress Passport con gli elementi di un DTD e possono essere utilizzati per automatizzare parte del processo di codifica con tag di un documento QuarkXPress Passport.
G Per informazioni su come utilizzare i gruppi di regole di codifica nella codifica con tag basata su regole, consultate il Capitolo 6, "Codifica del contenuto con i tag".
Creazione di un gruppo di regole di codifica
Un gruppo di regole di codifica permette di specificare come deve essere codificato il testo con i tag quando si utilizza la codifica basata su regole. Per creare un gruppo di regole di codifica, procedete come indicato qui di seguito.
.1 Create o aprite il documento XML per cui volete creare il gruppo di regole di codifica.
.2 Create o aprite un documento QuarkXPress Passport che contenga tutti i fogli stile e i colori che volete utilizzare nel gruppo di regole di codifica.
.3 Scegliete Modifica (Windows) o Comp. (Mac OS) > Regole di codifica con i tag. Verrà visualizzata la finestra di dialogo Regole di codifica con i tag.
No Disk File
Create un nuovo gruppo di regole di codifica mediante la finestra di dialogo Regole di codifica con i tag.
.4 Fate clic sul pulsante Nuovo gruppo per creare un nuovo gruppo di regole di codifica. Verrà visualizzata la finestra di dialogo Modifica gruppo regole di codifica con i tag con l'elemento al livello principale del DOCTYPE e il nome del file riportati nella barra del titolo.
No Disk File
La palette Modifica gruppo regole di codifica con i tag permette di creare e modificare un gruppo di regole di codifica.
.5 Immettete un nome per il gruppo di regole di codifica nel campo Nome.
.6 Selezionate un tipo di elemento in grassetto nell'elenco a sinistra. (Se il nome di un tipo di elemento non è disponibile, significa che il DTD non consente di associarlo a delle regole). Per espandere un elemento recipiente e visualizzare tutti gli elementi che contiene, fate clic sull'icona No Disk File (Mac OS) o No Disk File (Windows) visualizzata accanto a quell'elemento. Per visualizzare il resto del DTD, scorrete la lista.
 
.7 Per cominciare ad aggiungere una nuova regola al gruppo di regole di codifica, fate clic su Aggiungi regola: all'elenco Regole verrà aggiunta una regola vuota.
.8 Per configurare la regola di codifica in modo che codifichi automaticamente con tag il testo che utilizza un determinato foglio stile, fate clic su Foglio stile e quindi scegliete un nome del foglio stile dal menu a discesa Foglio stile. Se invece volete che i paragrafi di una serie consecutiva di paragrafi che utilizzano il foglio stile indicato vengano inseriti in unico elemento, lasciate deselezionata questa casella. I fogli stile visualizzati in corsivo non sono presenti nel documento QuarkXPress Passport attivo.
G L'opzione Nuovo tag per ogni paragrafo funziona soltanto se il DTD utilizzato supporta istanze sequenziali multiple dell'elemento selezionato.
.9 Per configurare la regola di codifica in modo che codifichi automaticamente con i tag il testo che utilizza un determinato colore, fate clic su Colore e scegliete un nome di colore dal menu a discesa Colore. I nomi dei colori visualizzati in corsivo non sono presenti nel documento QuarkXPress Passport attivo.
G I gruppi di regole di codifica contengono soltanto i nomi dei fogli stile e dei colori. Se cambiate il nome di un foglio stile o di un colore nel documento, dovrete aggiornare anche il gruppo di regole di codifica.
.10 Per configurare la regola di codifica in modo che codifichi automaticamente con i tag il testo che utilizza una particolare combinazione di stili di carattere, fate clic su Stile carattere e quindi sulle icone per indicare lo stile di carattere da codificare. Un'icona di stile di carattere con sfondo nero indica che il testo deve utilizzare questo stile di carattere per essere codificato; se invece l'icona ha sfondo bianco, significa che il testo con quel particolare stile di carattere non verrà codificato; infine, se l'icona di uno stile di carattere ha uno sfondo grigio, vuol dire che questo stile di carattere non verrà preso in considerazione durante la codifica.
 
G Ricordate che il testo non verrà codificato finché non eseguirete la codifica basata su regole. Per ulteriori informazioni al riguardo, consultate il Capitolo 6, "Codifica del contenuto con i tag".
.11 Per aggiungere una nuova regola per il tipo di elemento selezionato, fate clic su Aggiungi regola e quindi ripetete i punti da 8 a 10. Per creare una nuova regola sulla base di una esistente, selezionate quest'ultima nell'elenco Regole; fate clic su Duplica per creare una copia della regola, e infine riconfigurate la regola duplicata.
.12 Per eliminare una regola per il tipo di elemento selezionato, selezionatela nell'elenco Regole e fate clic su Elimina.
G I tipi di elemento per cui sono state create delle regole sono visualizzati in corsivo nell'elenco del DTD.
.13 Per salvare le modifiche apportate al gruppo di regole di codifica, fate clic su OK.
.14 Fate clic su Salva per chiudere la finestra di dialogo Regole di codifica con i tag.
G Se un tipo di elemento compare più volte nell'albero del DTD e si crea una regola per una sua istanza, la regola verrà applicata a tutte le istanze.
G Come si può creare un gruppo regole di codifica che includa regole per fogli stile associati a vari documenti? Semplicemente, create un documento nuovo, aggiungete tutti i fogli stile provenienti dai vari documenti (Archivio (Mac OS)/File (Windows) > Aggiungi > linguetta Fogli stile) e quindi create le vostre regole di codifica.
Modifica, duplicazione ed eliminazione dei gruppi di regole di codifica
La finestra di dialogo Regole di codifica con i tag (menu Modifica (Windows) o Comp. (Mac OS)) permette di modificare, duplicare ed eliminare i gruppi di regole di codifica. È infatti sufficiente selezionare un gruppo di regole nell'elenco e fare clic su uno dei seguenti pulsanti:
* Modifica apre il gruppo di regole di codifica consentendo di modificarlo.
* Duplica crea una copia del gruppo di regole di codifica che può essere modificato e a cui può essere assegnato un nome nuovo.
* Elimina rimuove il gruppo di regole di codifica dall'elenco.